#pragma once
#include "state.h"
#include "krryn.h"

#include <memory>

namespace krryn{
namespace core{ class job_manager; }
namespace gui{ class database_widgets; }
namespace usr{
	class audio_thread;
	class state_diagram : public core::state{
	public:
		state_diagram() : state(":diagram") {}
		virtual ~state_diagram();
	protected:
		virtual void init();
		virtual void activate();
		virtual void deactivate();
		virtual void tick(float a_DeltaTime);
	private:
		gui::database_widgets *m_Database;
		gui::window* m_Window;
		gui::event_loop m_EventLoop;
		core::job_manager *m_Manager;
	};
}
}
